﻿using JESAI.Application.Abstractions.Workflow.Dtos;
using JESAI.Application.Abstractions.Workflow.Querys;
using JESAI.DDD.Dtos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JESAI.Application.Abstractions.Workflow
{
    /// <summary>
    /// 内置表单服务接口
    /// </summary>
    public interface IInnerFormService
    {
        Task DeleteInnerFormById(string innerFormId);
        Task DeleteInnerFormByIds(string[] innerFormIds);
        Task DeleteNodeForm(string innerFormId);
        Task<List<InnerFormPageDto>> GetInnerFormAllList();
        Task<PagedDto<InnerFormPageDto>> GetInnerFormPageList(InnerFormPageQuery innerFormPageQuery);
        Task<List<NodeFormDto>> GetNodeFormList(string nodeId);
        Task SaveOrUpdateInnerForm(InnerFormInput innerFormInput);
        Task SaveOrUpdateNodeForm(NodeFormInput innerFormInput);
        Task SaveOrUpdateNodeForms(List<NodeFormInput> innerFormInputs);
        Task<NodeFormDto> GetNodeForm(string Id);
    }
}
